﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace AppAgenteVehiculo
{
    public class Viaje
    {
        private long kilometrajeRecorrido = 0;

        public long KilometrajeRecorrido
        {
            get { return kilometrajeRecorrido; }
            set { kilometrajeRecorrido = value; }
        }

        private long kilometrajeTotal = 0;

        public long KilometrajeTotal
        {
            get { return kilometrajeTotal; }
            set { kilometrajeTotal = value; }
        }

        private bool viajeIniciado = false;

        public bool ViajeIniciado
        {
            get { return viajeIniciado; }
        }

        //public int creditoRestante = -1;

        //public int CreditoRestante
        //{
        //    get { return creditoRestante; }
        //    set { creditoRestante = value; }
        //}

        public void IniciarViaje()
        {
            if (!viajeIniciado)
            {
                viajeIniciado = true;

                Thread viaje = new Thread(Viajando);
                viaje.Start();
            }
        }

        public void DetenerViaje()
        {
            viajeIniciado = false;
        }

        private void Viajando()
        {
            while (viajeIniciado)
            {
                kilometrajeRecorrido++;
                KilometrajeTotal++;
                Program.vehiculo.KmTotal++;
                Program.vehiculo.MoverUbicacion();
                Thread.Sleep(3000);

                //if (creditoRestante != 0)
                //{
                //    kilometrajeRecorrido++;
                //    creditoRestante--;
                //    //Console.WriteLine(kilometrajeRecorrido + " Km recorridos.");
                //    Thread.Sleep(3000);
                //}
                //else
                //{
                //    Console.WriteLine("Se le ha terminado el credito, porfavor abandone el vehiculo.");
                //    DetenerViaje();
                //}
            }
        }
    }
}
